home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / benchmarks / exectest / RCS / exectest.c,v < prev   
Encoding:
Text File  |  1992-05-20  |  2.2 KB  |  142 lines

  1. head     1.3;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.3
  10. date     92.05.19.17.00.59;  author kupfer;  state Exp;
  11. branches ;
  12. next     1.2;
  13.  
  14. 1.2
  15. date     92.04.10.15.40.36;  author kupfer;  state Exp;
  16. branches ;
  17. next     1.1;
  18.  
  19. 1.1
  20. date     92.04.10.15.39.01;  author kupfer;  state Exp;
  21. branches ;
  22. next     ;
  23.  
  24.  
  25. desc
  26. @Benchmark for exec().
  27. @
  28.  
  29.  
  30. 1.3
  31. log
  32. @Add comment about how to invoke the program.
  33. @
  34. text
  35. @/* $Header: /sprite/src/benchmarks/exectest/RCS/exectest.c,v 1.2 92/04/10 15:40:36 kupfer Exp Locker: kupfer $ */
  36.  
  37. /* 
  38.  * Usage: exectest
  39.  * (no arguments).
  40.  */
  41.  
  42. #include <stdio.h>
  43. #include <sys/types.h>
  44. #include <sys/file.h>
  45. #include <sys/time.h>
  46. #ifdef sprite
  47. #include "proc.h"
  48. #endif
  49.  
  50.  
  51. main(argc, argv)
  52.     int argc;
  53.     char *argv[];
  54. {
  55.     register     int     i;
  56.     char    buf[128];
  57.     int        numReps;
  58.     struct timeval startTime, endTime;
  59.     int        pid;
  60.     FILE    *fd;
  61.  
  62.  
  63.     if (argc == 1) { 
  64.     fd = fopen("time.file","w");
  65.     if (!fd) {
  66.         perror("fopen");
  67.         exit(1);
  68.     }
  69.     gettimeofday(&startTime,0);
  70.     if (fwrite(&startTime, sizeof(startTime), 1, fd) != 1) {
  71.         perror("fwrite");
  72.         exit(1);
  73.     }
  74.     fclose(fd);
  75.     sprintf(buf,"%d", 1000);
  76.     execl(argv[0], argv[0], buf,0);
  77.     perror("execl");
  78.     fprintf(stderr,"Exec 1 failed\n");
  79.     exit(1);
  80.     }
  81.     numReps = atoi(argv[1]);
  82.     if (numReps <= 0) {
  83.     gettimeofday(&endTime,0);
  84.     fd = fopen("time.file","r");
  85.     if (!fd) {
  86.         perror("fopen");
  87.         exit(1);
  88.     }
  89.     if (fread(&startTime, sizeof(startTime), 1, fd) != 1) {
  90.         perror("fread");
  91.         exit(1);
  92.     }
  93.     fclose(fd);
  94.     fixtime(&startTime,&endTime);
  95.     printf("exec test %d exec time %4d.%03d\n", 1000, 
  96.         endTime.tv_sec, endTime.tv_usec/1000);
  97.     exit(0);
  98.     }
  99.     sprintf(buf,"%d",numReps-1);
  100.     execl(argv[0], argv[0], buf,0);
  101.     perror("execl");
  102.     fprintf(stderr,"Exec failed");
  103.     exit(1);
  104.  
  105. }
  106. fixtime(s, e)
  107.         struct  timeval *s, *e;
  108. {
  109.  
  110.         e->tv_sec -= s->tv_sec;
  111.         e->tv_usec -= s->tv_usec;
  112.         if (e->tv_usec < 0) {
  113.                 e->tv_sec--; e->tv_usec += 1000000;
  114.         }
  115. }
  116.  
  117.  
  118. @
  119.  
  120.  
  121. 1.2
  122. log
  123. @Use "%03d" instead of "%-03d".
  124. @
  125. text
  126. @d1 6
  127. a6 1
  128. /* $Header$ */
  129. @
  130.  
  131.  
  132. 1.1
  133. log
  134. @Initial revision
  135. @
  136. text
  137. @d1 2
  138. d56 1
  139. a56 1
  140.     printf("exec test %d exec time %4d.%-03d\n", 1000, 
  141. @
  142.